package com.sunwayhorizo.health.business.clinic.mqa.query;

import java.util.List;

import javax.ejb.Local;

import com.sunwayhorizo.health.hl7.common.Hl7Exception;
import com.sunwayhorizo.health.hl7.rim.Act;

@Local
public interface QADefectQueryLocal
{   
    /**
     * 根据临床医生的角色Id，查询带分页的缺陷信息列表
     * @param clinicDoctorRoleId    临床医生的角色Id
     * @param clinicWorkGroupId     工作组的角色Id
     * @param mqaDoctorRoleId       质控医生的角色Id
     * @param patientRoleId         患者的角色Id
     * @param pageNo                页码
     * @param pageSize              一页的条数
     * @return                      缺陷信息列表
     * @throws Hl7Exception
     */
    public List<Act> findDefectInfoListByCond( String clinicDoctorRoleId,String clinicWorkGroupId,String mqaDoctorRoleId,String patientRoleId,int pageNo, int pageSize) throws Hl7Exception;
    
    /**
     * 根据临床医生的角色Id，查询带分页的缺陷信息列表
     * @param clinicDoctorRoleId    临床医生的角色Id
     * @param clinicWorkGroupId     工作组的角色Id
     * @param mqaDoctorRoleId       质控医生的角色Id
     * @param patientRoleId         患者的角色Id
     * @param pageNo                页码
     * @param pageSize              一页的条数
     * @return                      缺陷信息列表
     * @throws Hl7Exception
     */
    public Long findCountDefectInfoListByCond( String clinicDoctorRoleId,String clinicWorkGroupId,String mqaDoctorRoleId,String patientRoleId ) throws Hl7Exception;
    
    /**
     * 根据动作Id返回相应的info信息
     * @param actId             动作Id
     * @return                  返回查询的info                
     * @throws Hl7Exception
     */
    public Act findInformationByActId(String actId) throws Hl7Exception;
}
